package com.tchy.cloud.entity;

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;

import javax.persistence.*;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.Date;

import static javax.persistence.GenerationType.IDENTITY;

/**
 * Created by xiaoji on 2017/2/20.
 */
@Entity
@Table(name = "a_consultant", schema = "", catalog = "")
public class AConsultantEntity {
    private ACustomerEntity aCustomerEntity;
    private Long consultantId;
    private String brief;
    private String firstTitle;
    private String secondTitle;
    private String thirdTitle;
    private String titleDesc;
    private Integer isExpert;
    private String secondClasses;
    private Integer isRecomm;
    private Integer satisfiedNumber;
    private Integer noSatisfied;
    private Integer okSatisfied;
    private Integer appointmentNumber;
    private String goodLanguage;
    private Integer education;
    private Integer consultationNum;
    private Integer isAuth;
    private Integer lastTime;
    private Integer sendNum;
    private String cert;
    private Date createTime;
    private Integer sort;

    private String realName;

    @Id
    @Column(name = "consultant_id")
    public Long getConsultantId() {
        return consultantId;
    }

    public void setConsultantId(Long consultantId) {
        this.consultantId = consultantId;
    }

    @OneToOne(mappedBy = "aConsultantEntity", fetch = FetchType.LAZY)
    @PrimaryKeyJoinColumn
    public ACustomerEntity getaCustomerEntity() {
        return aCustomerEntity;
    }

    public void setaCustomerEntity(ACustomerEntity aCustomerEntity) {
        this.aCustomerEntity = aCustomerEntity;
    }

    @Basic
    @Column(name = "brief")
    public String getBrief() {
        return brief;
    }

    public void setBrief(String brief) {
        this.brief = brief;
    }

    @Basic
    @Column(name = "first_title")
    public String getFirstTitle() {
        return firstTitle;
    }

    public void setFirstTitle(String firstTitle) {
        this.firstTitle = firstTitle;
    }

    @Basic
    @Column(name = "second_title")
    public String getSecondTitle() {
        return secondTitle;
    }

    public void setSecondTitle(String secondTitle) {
        this.secondTitle = secondTitle;
    }

    @Basic
    @Column(name = "third_title")
    public String getThirdTitle() {
        return thirdTitle;
    }

    public void setThirdTitle(String thirdTitle) {
        this.thirdTitle = thirdTitle;
    }

    @Basic
    @Column(name = "title_desc")
    public String getTitleDesc() {
        return titleDesc;
    }

    public void setTitleDesc(String titleDesc) {
        this.titleDesc = titleDesc;
    }

    @Basic
    @Column(name = "is_expert")
    public Integer getIsExpert() {
        return isExpert;
    }

    public void setIsExpert(Integer isExpert) {
        this.isExpert = isExpert;
    }

    @Basic
    @Column(name = "second_classes")
    public String getSecondClasses() {
        return secondClasses;
    }

    public void setSecondClasses(String secondClasses) {
        this.secondClasses = secondClasses;
    }

    @Basic
    @Column(name = "is_recomm")
    public Integer getIsRecomm() {
        return isRecomm;
    }

    public void setIsRecomm(Integer isRecomm) {
        this.isRecomm = isRecomm;
    }

    @Basic
    @Column(name = "satisfied_number")
    public Integer getSatisfiedNumber() {
        return satisfiedNumber;
    }

    public void setSatisfiedNumber(Integer satisfiedNumber) {
        this.satisfiedNumber = satisfiedNumber;
    }

    @Basic
    @Column(name = "no_satisfied")
    public Integer getNoSatisfied() {
        return noSatisfied;
    }

    public void setNoSatisfied(Integer noSatisfied) {
        this.noSatisfied = noSatisfied;
    }

    @Basic
    @Column(name = "ok_satisfied")
    public Integer getOkSatisfied() {
        return okSatisfied;
    }

    public void setOkSatisfied(Integer okSatisfied) {
        this.okSatisfied = okSatisfied;
    }

    @Basic
    @Column(name = "appointment_number")
    public Integer getAppointmentNumber() {
        return appointmentNumber;
    }

    public void setAppointmentNumber(Integer appointmentNumber) {
        this.appointmentNumber = appointmentNumber;
    }

    @Basic
    @Column(name = "good_language")
    public String getGoodLanguage() {
        return goodLanguage;
    }

    public void setGoodLanguage(String goodLanguage) {
        this.goodLanguage = goodLanguage;
    }

    @Basic
    @Column(name = "education")
    public Integer getEducation() {
        return education;
    }

    public void setEducation(Integer education) {
        this.education = education;
    }

    @Basic
    @Column(name = "consultation_num")
    public Integer getConsultationNum() {
        return consultationNum;
    }

    public void setConsultationNum(Integer consultationNum) {
        this.consultationNum = consultationNum;
    }

    @Basic
    @Column(name = "is_auth")
    public Integer getIsAuth() {
        return isAuth;
    }

    public void setIsAuth(Integer isAuth) {
        this.isAuth = isAuth;
    }

    @Basic
    @Column(name = "last_time")
    public Integer getLastTime() {
        return lastTime;
    }

    public void setLastTime(Integer lastTime) {
        this.lastTime = lastTime;
    }

    @Basic
    @Column(name = "send_num")
    public Integer getSendNum() {
        return sendNum;
    }

    public void setSendNum(Integer sendNum) {
        this.sendNum = sendNum;
    }

    @Basic
    @Column(name = "cert")
    public String getCert() {
        return cert;
    }

    public void setCert(String cert) {
        this.cert = cert;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }


    @Transient
    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    @Basic
    @Column(name = "sort")
    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }
    
}
